import Vue from 'vue'
import Vuex from 'vuex'
import { setToken, getToken } from '@/store/storage.js'

Vue.use(Vuex)

export default new Vuex.Store({
  state: {
    // token值
    tokenInfo: getToken() || {},
    // 个人信息
    userInfo: {}
  },
  mutations: {
    mTokenInfo (state, initTokenInfo) {
      state.tokenInfo = initTokenInfo
      setToken(initTokenInfo)
    },
    mUserInfo (state, initUserInfo) {
      state.userInfo = initUserInfo
    }
  },
  // 相当于computed计算属性
  getters: {
    // 判断用户是否处于登录状态， state默认传入
    isLogin (state) {
      // 方法1
      // if (state.tokenInfo.token) {
      //   return true
      // } else {
      //   return false
      // }

      // 方法2  !!变量  将变量转换为Boolean
      return !!state.tokenInfo.token
    }
  }
})
